ツールバー(管理バー)を非表示or移動

WordPressのツールバー(管理バー)を非表示にしたりカスタマイズする方法。自作の上部固定バーと管理バーがバッティングして動作確認しづらいときのための簡単な対処法もご紹介しています。

情報源: WordPressツールバー(管理バー)を非表示or移動したい : おち研

 

管理バーそのものを編集する

【 2015-07-21 本章追記 】

プラグインによっては管理バーに機能追加してるものもあるんですね。編集できることを知ったのでどうやってるのかなと調べたメモ。

管理バーに項目を追加する

管理バーは wp-includes/admin-bar.php で定義されてます。LL105-110行を見ると、各項目は以下の書式で追加されていることが判ります。

【admin-bar.php】
function wp_admin_bar_wp_menu( $wp_admin_bar ) {
$wp_admin_bar->add_menu( array(
‘id’ => ‘wp-logo’,
‘title’ => ” . __( ‘About WordPress’ ) . ”,
‘href’ => self_admin_url( ‘about.php’ ),
)
);

…と言うことは、何か新たに機能を追加したいときは同じ書式で追加できるってことですね。

管理バーから項目を消去する

add_menuがあると言うことはremove_menuも効くはずです。Codexによると以下の書式で消えるとのこと。

【functions.php】
<?php $wp_admin_bar->remove_menu( $id ); ?>

例えば一番左のWマークのidは’wp-logo’だし、更新ファイルのお知らせは’updates’となります。(更新通知、急かされてるようで苦手なんです(^^;)

※WordPressコアのwp-includes/class-wp-admin-bar.phpこれもないけどな~

その他の項目は admin-bar.php から「$wp_admin_bar->add_menu」を検索すると見つかるので好みに合わせてデザインして下さい。

【functions.php】
<?php
function remove_admin_bar_menus( ) {
 global $wp_admin_bar;
 $wp_admin_bar -> remove_menu( 'wp-logo' );
 $wp_admin_bar -> remove_menu( 'updates' );
}
add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_menus' );
?>
調べると
「#wpadminbar *」
#wpadminbar #wp-admin-bar-comments .ab-icon:before {
content: '\f101';
top: 3px;
ということで、これを追加してみますと・・・いけましたので、上平間では2つ非表示にします。(管理者もです)
プラス
//管理画面ツールバー「コメント」非表示に
function remove_admin_bar_menus( ) {
 global $wp_admin_bar;
 $wp_admin_bar -> remove_menu( 'updates' );
 $wp_admin_bar -> remove_menu( 'comments' );
 $wp_admin_bar -> remove_menu( 'edit' );追加しました!!!
}
add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_menus' );

 

004-tool

ほかにもいくつか解説サイトあります。

https://firegoby.jp/archives/4114

http://wpcj.net/260

 

/**
 * 管理バーの項目を削除します。
 */
function remove_bar_menus( $wp_admin_bar ) {
 $wp_admin_bar->remove_menu( 'wp-logo' ); // ロゴ
 $wp_admin_bar->remove_menu( 'site-name' ); // サイト名
 $wp_admin_bar->remove_menu( 'view-site' ); // サイト名 -> サイトを表示
 $wp_admin_bar->remove_menu( 'dashboard' ); // サイト名 -> ダッシュボード (公開側)
 $wp_admin_bar->remove_menu( 'themes' ); // サイト名 -> テーマ (公開側)
 $wp_admin_bar->remove_menu( 'customize' ); // サイト名 -> カスタマイズ (公開側)
 $wp_admin_bar->remove_menu( 'comments' ); // コメント
 $wp_admin_bar->remove_menu( 'updates' ); // 更新
 $wp_admin_bar->remove_menu( 'view' ); // 投稿を表示
 $wp_admin_bar->remove_menu( 'new-content' ); // 新規
 $wp_admin_bar->remove_menu( 'new-post' ); // 新規 -> 投稿
 $wp_admin_bar->remove_menu( 'new-media' ); // 新規 -> メディア
 $wp_admin_bar->remove_menu( 'new-link' ); // 新規 -> リンク
 $wp_admin_bar->remove_menu( 'new-page' ); // 新規 -> 固定ページ
 $wp_admin_bar->remove_menu( 'new-user' ); // 新規 -> ユーザー
 $wp_admin_bar->remove_menu( 'my-account' ); // マイアカウント
 $wp_admin_bar->remove_menu( 'user-info' ); // マイアカウント -> プロフィール
 $wp_admin_bar->remove_menu( 'edit-profile' ); // マイアカウント -> プロフィール編集
 $wp_admin_bar->remove_menu( 'logout' ); // マイアカウント -> ログアウト
 $wp_admin_bar->remove_menu( 'search' ); // 検索 (公開側)
}
add_action('admin_bar_menu', 'remove_bar_menus', 201);

あとこんなのも
// 記事内の remove_bar_menus のやつを全部コピー
function remove_bar_menus( $wp_admin_bar ) {
 // 「サイト名」「サイトを表示」の 2 行を削除
 // 略
}
 
// ユーザーが寄稿者か判定
if (current_user_can('Contributor')) {
 add_action('admin_bar_menu', 'remove_bar_menus', 201);
}